home *** CD-ROM | disk | FTP | other *** search
- package Box2D.Collision
- {
- import Box2D.Common.*;
- import Box2D.Common.Math.*;
-
- public class _xl574
- {
- public var m_pairCount:int;
-
- public var m_pairBuffer:Array;
-
- public var m_hashTable:Array;
-
- public var m_callback:_lv495;
-
- public var m_pairs:Array;
-
- public var m_pairBufferCount:int;
-
- public var m_broadPhase:_lx230;
-
- public var m_freePair:uint;
-
- public function _xl574()
- {
- var _loc1_:uint = 0;
- super();
- m_hashTable = new Array(_yl661.b2_tableCapacity);
- _loc1_ = 0;
- while(_loc1_ < _yl661.b2_tableCapacity)
- {
- m_hashTable[_loc1_] = _yl661.b2_nullPair;
- _loc1_++;
- }
- m_pairs = new Array(_kc225.b2_maxPairs);
- _loc1_ = 0;
- while(_loc1_ < _kc225.b2_maxPairs)
- {
- m_pairs[_loc1_] = new _yl661();
- _loc1_++;
- }
- m_pairBuffer = new Array(_kc225.b2_maxPairs);
- _loc1_ = 0;
- while(_loc1_ < _kc225.b2_maxPairs)
- {
- m_pairBuffer[_loc1_] = new _lv161();
- _loc1_++;
- }
- _loc1_ = 0;
- while(_loc1_ < _kc225.b2_maxPairs)
- {
- m_pairs[_loc1_].proxyId1 = _yl661.b2_nullProxy;
- m_pairs[_loc1_].proxyId2 = _yl661.b2_nullProxy;
- m_pairs[_loc1_].userData = null;
- m_pairs[_loc1_].status = 0;
- m_pairs[_loc1_].next = _loc1_ + 1;
- _loc1_++;
- }
- m_pairs[int(_kc225.b2_maxPairs - 1)].next = _yl661.b2_nullPair;
- m_pairCount = 0;
- m_pairBufferCount = 0;
- }
-
- public static function _pw165(param1:uint, param2:uint) : uint
- {
- var _loc3_:uint = 0;
- _loc3_ = uint(param2 << 16 & 4294901760 | param1);
- _loc3_ = uint(~_loc3_ + (_loc3_ << 15 & 4294934528));
- _loc3_ ^= _loc3_ >> 12 & 0x0FFFFF;
- _loc3_ += _loc3_ << 2 & 4294967292;
- _loc3_ ^= _loc3_ >> 4 & 0x0FFFFFFF;
- _loc3_ *= 2057;
- return uint(_loc3_ ^ _loc3_ >> 16 & 0xFFFF);
- }
-
- public static function _ao537(param1:_lv161, param2:_lv161) : Boolean
- {
- return param1.proxyId1 == param2.proxyId1 && param1.proxyId2 == param2.proxyId2;
- }
-
- public static function _rg825(param1:_yl661, param2:uint, param3:uint) : Boolean
- {
- return param1.proxyId1 == param2 && param1.proxyId2 == param3;
- }
-
- private function _wm732(param1:uint, param2:uint) : _yl661
- {
- var _loc3_:uint = 0;
- var _loc4_:_yl661 = null;
- var _loc5_:uint = 0;
- var _loc6_:uint = 0;
- if(param1 > param2)
- {
- _loc6_ = param1;
- param1 = param2;
- param2 = _loc6_;
- }
- _loc3_ = uint(_pw165(param1,param2) & _yl661.b2_tableMask);
- _loc4_ = _loc4_ = _uv780(param1,param2,_loc3_);
- if(_loc4_ != null)
- {
- return _loc4_;
- }
- _loc5_ = m_freePair;
- _loc4_ = m_pairs[_loc5_];
- m_freePair = _loc4_.next;
- _loc4_.proxyId1 = param1;
- _loc4_.proxyId2 = param2;
- _loc4_.status = 0;
- _loc4_.userData = null;
- _loc4_.next = m_hashTable[_loc3_];
- m_hashTable[_loc3_] = _loc5_;
- ++m_pairCount;
- return _loc4_;
- }
-
- public function _cp216(param1:_lx230, param2:_lv495) : void
- {
- m_broadPhase = param1;
- m_callback = param2;
- }
-
- public function _ch476(param1:int, param2:int) : void
- {
- var _loc3_:_lv161 = null;
- var _loc4_:_yl661 = null;
- _loc4_ = _lg75(param1,param2);
- if(_loc4_ == null)
- {
- return;
- }
- if(_loc4_._pc218() == false)
- {
- _loc4_._bo405();
- _loc3_ = m_pairBuffer[m_pairBufferCount];
- _loc3_.proxyId1 = _loc4_.proxyId1;
- _loc3_.proxyId2 = _loc4_.proxyId2;
- ++m_pairBufferCount;
- }
- _loc4_._lu469();
- if(_lx230.s_validate)
- {
- _th785();
- }
- }
-
- private function _th785() : void
- {
- }
-
- private function _oj677(param1:uint, param2:uint) : *
- {
- var _loc3_:_yl661 = null;
- var _loc4_:uint = 0;
- var _loc5_:uint = 0;
- var _loc6_:_yl661 = null;
- var _loc7_:uint = 0;
- var _loc8_:uint = 0;
- var _loc9_:* = undefined;
- if(param1 > param2)
- {
- _loc7_ = param1;
- param1 = param2;
- param2 = _loc7_;
- }
- _loc4_ = uint(_pw165(param1,param2) & _yl661.b2_tableMask);
- _loc5_ = uint(m_hashTable[_loc4_]);
- _loc6_ = null;
- while(_loc5_ != _yl661.b2_nullPair)
- {
- if(_rg825(m_pairs[_loc5_],param1,param2))
- {
- _loc8_ = _loc5_;
- _loc3_ = m_pairs[_loc5_];
- if(_loc6_)
- {
- _loc6_.next = _loc3_.next;
- }
- else
- {
- m_hashTable[_loc4_] = _loc3_.next;
- }
- _loc3_ = m_pairs[_loc8_];
- _loc9_ = _loc3_.userData;
- _loc3_.next = m_freePair;
- _loc3_.proxyId1 = _yl661.b2_nullProxy;
- _loc3_.proxyId2 = _yl661.b2_nullProxy;
- _loc3_.userData = null;
- _loc3_.status = 0;
- m_freePair = _loc8_;
- --m_pairCount;
- return _loc9_;
- }
- _loc6_ = m_pairs[_loc5_];
- _loc5_ = _loc6_.next;
- }
- return null;
- }
-
- public function _ol779() : void
- {
- var _loc1_:_lv161 = null;
- var _loc2_:int = 0;
- var _loc3_:int = 0;
- var _loc4_:Array = null;
- var _loc5_:_yl661 = null;
- var _loc6_:_cm170 = null;
- var _loc7_:_cm170 = null;
- _loc3_ = 0;
- _loc4_ = m_broadPhase.m_proxyPool;
- _loc2_ = 0;
- while(_loc2_ < m_pairBufferCount)
- {
- _loc1_ = m_pairBuffer[_loc2_];
- _loc5_ = _lg75(_loc1_.proxyId1,_loc1_.proxyId2);
- _loc5_._wp583();
- _loc6_ = _loc4_[_loc5_.proxyId1];
- _loc7_ = _loc4_[_loc5_.proxyId2];
- if(_loc5_._mu276())
- {
- if(_loc5_._wj324() == true)
- {
- m_callback._tf499(_loc6_.userData,_loc7_.userData,_loc5_.userData);
- }
- _loc1_ = m_pairBuffer[_loc3_];
- _loc1_.proxyId1 = _loc5_.proxyId1;
- _loc1_.proxyId2 = _loc5_.proxyId2;
- _loc3_++;
- }
- else if(_loc5_._wj324() == false)
- {
- _loc5_.userData = m_callback._na764(_loc6_.userData,_loc7_.userData);
- _loc5_._pa607();
- }
- _loc2_++;
- }
- _loc2_ = 0;
- while(_loc2_ < _loc3_)
- {
- _loc1_ = m_pairBuffer[_loc2_];
- _oj677(_loc1_.proxyId1,_loc1_.proxyId2);
- _loc2_++;
- }
- m_pairBufferCount = 0;
- if(_lx230.s_validate)
- {
- _yq113();
- }
- }
-
- private function _uv780(param1:uint, param2:uint, param3:uint) : _yl661
- {
- var _loc4_:_yl661 = null;
- var _loc5_:uint = 0;
- _loc5_ = uint(m_hashTable[param3]);
- _loc4_ = m_pairs[_loc5_];
- while(_loc5_ != _yl661.b2_nullPair && _rg825(_loc4_,param1,param2) == false)
- {
- _loc5_ = _loc4_.next;
- _loc4_ = m_pairs[_loc5_];
- }
- if(_loc5_ == _yl661.b2_nullPair)
- {
- return null;
- }
- return _loc4_;
- }
-
- public function _xt32(param1:int, param2:int) : void
- {
- var _loc3_:_lv161 = null;
- var _loc4_:_yl661 = null;
- _loc4_ = _wm732(param1,param2);
- if(_loc4_._pc218() == false)
- {
- _loc4_._bo405();
- _loc3_ = m_pairBuffer[m_pairBufferCount];
- _loc3_.proxyId1 = _loc4_.proxyId1;
- _loc3_.proxyId2 = _loc4_.proxyId2;
- ++m_pairBufferCount;
- }
- _loc4_._mv430();
- if(_lx230.s_validate)
- {
- _th785();
- }
- }
-
- private function _yq113() : void
- {
- }
-
- private function _lg75(param1:uint, param2:uint) : _yl661
- {
- var _loc3_:uint = 0;
- var _loc4_:uint = 0;
- if(param1 > param2)
- {
- _loc4_ = param1;
- param1 = param2;
- param2 = _loc4_;
- }
- _loc3_ = uint(_pw165(param1,param2) & _yl661.b2_tableMask);
- return _uv780(param1,param2,_loc3_);
- }
- }
- }
-
-